package com.ant.storage.pojo;

import com.ant.storage.vo.SupplierPayListVo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author melon
 * @since 2022-03-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("supplier_information")
@ApiModel(value="SupplierInformation对象", description="")
public class SupplierInformation implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("city_id")
    private Integer cityId;

    @ApiModelProperty(value = "供应商名称")
    @TableField("supplier_name")
    private String supplierName;


    @ApiModelProperty(value = "联系人")
    @TableField("supplier_linkman")
    private String supplierLinkman;


    @ApiModelProperty(value = "联系人电话")
    @TableField("supplier_tel")
    private String supplierTel;

    @ApiModelProperty  (value = "开户行")
    @TableField("supplier_bank")
    private String supplierBank;

    @ApiModelProperty (value = "开户人")
    @TableField("supplier_account")
    private String supplierAccount;

    @ApiModelProperty (value = "银行账号")
    @TableField("supplier_numbers")
    private String supplierNumbers;

    @ApiModelProperty (value = "已收金额")
    @TableField("supplier_price")
    private BigDecimal supplierPrice;

    @ApiModelProperty(value = "供应商类型")
    @TableField("supplier_type")
    private String supplierType;

    @ApiModelProperty(value = "供应商说明")
    @TableField("supplier_explan")
    private String supplierExplan;

    @TableField("is_show")
    @ApiModelProperty(value = "是否锁定 0 停用 1 正常")
    private Integer isShow;

    @ApiModelProperty(value = "支付方式")
    @TableField("supplier_pay_type")
    private String supplierPayType;


    @ApiModelProperty(value = "合作期限")
    @TableField("supplier_period")
    private String  supplierPeriod;

    @ApiModelProperty(value = "是否有合同")
    @TableField("is_contract")
    private Integer isContract;

    @TableField("creator_by")
    private String creatorBy;

    @TableField("creation_time")
    private Date creationTime;


    @ApiModelProperty (value = "共计单量")
    @TableField(exist = false)
    private Integer settlementCount;

    @ApiModelProperty (value = "共计金额")
    @TableField(exist = false)
    private BigDecimal settlementCountPrice;

    @ApiModelProperty (value = "已结算单量")
    @TableField(exist = false)
    private Integer settlementNum;

    @ApiModelProperty (value = "已结结算金额")
    @TableField(exist = false)
    private BigDecimal settlementPrice;


    @ApiModelProperty (value = "申请结算单量")
    @TableField(exist = false)
    private Integer applyNum;

    @ApiModelProperty (value = "申请结算金额")
    @TableField(exist = false)
    private BigDecimal applyPrice;


    @TableField(exist = false)
    private List<PurchaseOrders> purchaseOrdersList;

    @TableField(exist = false)
    private List<SupplierPayList> supplierPayList;

    @ApiModelProperty(value = "自定义采购单列表")
    @TableField(exist = false)
    private List<SupplierPayListVo> supplierPayListVoList;

    @ApiModelProperty(value = "合同")
    @TableField(exist = false)
    private List<SupplierContract> SupplierContract;


    @ApiModelProperty(value = "供应商类型")
    @TableField(exist = false)
    private String supplierTypeText;
}
